package wahadlo.controllers;

/**
 * Interfejs reprezentuje klasy, które są animacjami takie jak np. wykresy.
 * 
 * @author Koziołek
 * 
 */
public interface Animation {

	/**
	 * Zwraca <code>true</code> jeżeli animacja działa i <code>false</code>
	 * jeżeli nie.
	 * 
	 * @return stan animacji
	 */
	public boolean isRunnig();

	/**
	 * Pozwala na uruchomienie animacji jeżeli przekażemy parametr
	 * <code>true</code> i zatrzymanie animacji za pomocą <code>false</code>.
	 * Po zatrzymaniu wszytkie dane potrzebne do animacji są kasowane.
	 * 
	 * @param runnig
	 *            stan animacji.
	 */
	public void setRunnig(boolean runnig);

	/**
	 * Pozwala na zapauzowanie animacji. Dane nie są tracone tak jak w przypadku {@link #isRunnig()}.
	 * 
	 * @param resume stan animacji
	 * 
	 * @see #isRunnig()
	 */
	public void setResume(boolean resume);

}